// pages/video-detail/video-detail.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    videoInfo: null,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if (options && options.item) {
      let info = JSON.parse(options.item)
      info.createTime = info.createTime.slice(0,10)
      this.setData({
        videoInfo: info
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    // 获取视频上下文
    this.setData({
      videoContext: wx.createVideoContext('videoPlayer')
    })
  },

  /**
   * 获取模拟视频数据
   */
  getMockVideoData() {
    // 根据视频ID返回对应的模拟数据
    const mockVideos = {
      '1': {
        id: '1',
        title: '网球正手击球基础教学',
        cover: 'https://images.unsplash.com/photo-1513542789411-b6a5d4f31634',
        videoUrl: 'https://storage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
        duration: '12:30',
        instructor: '李教练',
        views: 12543,
        likes: 1256,
        comments: 234,
        category: 'beginner',
        level: 'beginner',
        tags: ['正手', '基础'],
        description: '本视频详细讲解了网球正手击球的基础动作要领，包括握拍方式、站位、挥拍轨迹等关键技术点，适合初学者学习。通过科学的训练方法，帮助你快速掌握正确的正手击球动作。'
      },
      '2': {
        id: '2',
        title: '网球反手切削技巧详解',
        cover: 'https://images.unsplash.com/photo-1544025162-c2e1e05455d5',
        videoUrl: 'https://storage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4',
        duration: '15:45',
        instructor: '王教练',
        views: 8921,
        likes: 987,
        comments: 156,
        category: 'technique',
        level: 'intermediate',
        tags: ['反手', '切削'],
        description: '反手切削是网球比赛中的重要技术，本视频从动作分解到实战应用，详细讲解了反手切削的技巧和战术运用。通过本视频的学习，你将掌握如何利用反手切削来控制比赛节奏、改变球路。'
      },
      '3': {
        id: '3',
        title: '网球发球力量提升训练',
        cover: 'https://images.unsplash.com/photo-1495562569060-2eec283d3392',
        videoUrl: 'https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4',
        duration: '18:20',
        instructor: '张教练',
        views: 15678,
        likes: 1678,
        comments: 342,
        category: 'technique',
        level: 'intermediate',
        tags: ['发球', '力量'],
        description: '发球是网球比赛中唯一不受对方控制的技术动作，本视频专注于发球力量的提升训练方法，包括身体协调、拍头速度、发力技巧等方面的训练，帮助你发出更有威胁的发球。'
      },
      '4': {
        id: '4',
        title: '网球比赛战术策略分析',
        cover: 'https://images.unsplash.com/photo-1574629810360-7efbbe195018',
        videoUrl: 'https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4',
        duration: '22:10',
        instructor: '刘教练',
        views: 9876,
        likes: 1123,
        comments: 278,
        category: 'strategy',
        level: 'advanced',
        tags: ['战术', '比赛'],
        description: '网球比赛不仅是技术的比拼，更是战术的较量。本视频通过分析职业选手的比赛录像，详细讲解了不同场地、不同对手情况下的战术选择和调整策略，帮助你在比赛中占据主动。'
      },
      '5': {
        id: '5',
        title: '职业选手底线相持技术解析',
        cover: 'https://images.unsplash.com/photo-1500462918059-b1a0cb512f1d',
        videoUrl: 'https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4',
        duration: '25:30',
        instructor: '国际教练团队',
        views: 21543,
        likes: 2345,
        comments: 567,
        category: 'pro',
        level: 'advanced',
        tags: ['职业', '相持'],
        description: '本视频深入解析了职业选手的底线相持技术，包括脚步移动、击球时机、旋转控制等方面的细节。通过学习职业选手的技术特点和训练方法，帮助你提升底线相持能力，在高强度对抗中保持稳定发挥。'
      }
    }
    
    // 返回对应ID的视频数据，如果不存在则返回默认视频
    return mockVideos[this.data.videoId] || mockVideos['1']
  },

  /**
   * 播放视频
   */
  playVideo() {
    if (this.data.videoContext) {
      this.data.videoContext.play()
    }
  },

  /**
   * 暂停视频
   */
  pauseVideo() {
    if (this.data.videoContext) {
      this.data.videoContext.pause()
    }
  },

  /**
   * 跳转到其他视频
   */
  goToOtherVideo(e) {
    const id = e.currentTarget.dataset.id
    wx.navigateTo({
      url: `/pages/video-detail/video-detail?id=${id}`
    })
  },
  
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    const videoTitle = this.data.videoInfo ? this.data.videoInfo.title : '精彩网球教学视频'
    const videoId = this.data.videoId
    
    return {
      title: videoTitle,
      path: `/pages/video-detail/video-detail?id=${videoId}`,
      imageUrl: this.data.videoInfo ? this.data.videoInfo.cover : '/images/share-video.jpg'
    }
  },
  
  /**
   * 获取推荐视频ID
   */
  recommendVideoId(index) {
    const baseId = parseInt(this.data.videoId || '1')
    return (baseId + index + 1) % 5 || 5
  },
  
  /**
   * 获取推荐视频标题
   */
  recommendVideoTitle(index) {
    return parseInt(this.data.videoId || '1') + index + 1
  },
  
  /**
   * 获取推荐视频观看次数
   */
  recommendVideoViews(index) {
    // 生成一个相对合理的观看次数
    const baseViews = 5000
    const randomFactor = Math.random() * 5000
    return Math.floor(baseViews + randomFactor)
  }
})